package com.mnb.base.service.impl;

import com.mnb.base.entity.StRiverR;
import com.mnb.base.entity.StRvfcchB;
import com.mnb.base.entity.StRvsectB;
import com.mnb.base.mapper.StRiverRMapper;
import com.mnb.base.mapper.StRvfcchBMapper;
import com.mnb.common.utils.R;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.mnb.base.mapper.StRvsectBMapper;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.mnb.base.entity.StRvsectB;
import com.mnb.base.service.StRvsectBService;
@Service
public class StRvsectBServiceImpl implements StRvsectBService{

    @Resource
    private StRvsectBMapper stRvsectBMapper;

    @Autowired
    private StRvfcchBMapper stRvfcchBMapper;

    @Autowired
    private StRiverRMapper stRiverRMapper;


    @Override
    public R getList(StRvsectB stRvsectB) {
        List<StRvsectB> list = stRvsectBMapper.getList(stRvsectB);
        return R.ok(list);
    }

    @Override
    public R getLineList(StRvsectB stRvsectB) {
        List<StRvsectB> list = stRvsectBMapper.getLineList(stRvsectB);
        return R.ok(list);
    }



    @Override
    public R insert(StRvsectB stRvsectB) {
        StRvsectB count = stRvsectBMapper.selectByPrimaryKey(stRvsectB.getStcd(), stRvsectB.getMstm(), stRvsectB.getVtno());
        if(count != null){
            return R.fail("该信息已存在");
        }
        stRvsectBMapper.insert(stRvsectB);
        return R.ok();
    }

    @Override
    public R udpate(StRvsectB stRvsectB) {
        stRvsectBMapper.updateByPrimaryKey(stRvsectB);
        return R.ok();
    }

    @Override
    public void deleteByPrimaryKey(String stcd, Date mstm, Short vtno) {
        stRvsectBMapper.deleteByPrimaryKey(stcd, mstm, vtno);
    }

    @Override
    public R getDmtChartData(StRvsectB stRvsectB) {
        Map<String, Object> map = new HashMap<>();
        List<StRvsectB> list = stRvsectBMapper.getLastMstmList(stRvsectB);
        map.put("list", list);
        StRvfcchB stRvfcchB = stRvfcchBMapper.getInfo(stRvsectB.getStcd());
        if(stRvfcchB != null){
            map.put("grz", stRvfcchB.getGrz());
            map.put("wrz", stRvfcchB.getWrz());
        }
        StRiverR stRiverR = stRiverRMapper.getLastInfo(stRvsectB.getStcd());
        if(stRiverR != null){
            map.put("z", stRiverR.getZ());
        }
        return R.ok(map);
    }
}
